package com.ruoyi.system.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

public class TopicVo {

    @ApiModel("TopicVo - Result")
    @Data
    public static class Result {
        @ApiModelProperty("ID")
        private Long id;
        @ApiModelProperty("所属项目ID")
        private String projectId;
        @ApiModelProperty("课题名称")
        private String name;
        @ApiModelProperty("排序")
        private Integer sort;
        @ApiModelProperty("课题描述")
        private String education;
        @ApiModelProperty("项目名称")
        private String projectName;
        @ApiModelProperty("项目名称")
        private String createBy;
        @ApiModelProperty("项目名称")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date createTime;
        @ApiModelProperty("项目名称")
        private String updateBy;
        @ApiModelProperty("项目名称")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date updateTime;
        @ApiModelProperty("项目名称")
        private String remark;
    }

    @ApiModel("TopicVo - TopEntryConditionsInsert")
    @Data
    public static class TopEntryConditionsResult {
        @ApiModelProperty("ID")
        private Long id;
        @ApiModelProperty("课题ID")
        private String topicId;
        @ApiModelProperty("性别")
        private Byte gender;
        @ApiModelProperty("年龄段")
        private String age;
        @ApiModelProperty("受教育程度")
        private Byte education;
        @ApiModelProperty("职业")
        private Byte job;
        @ApiModelProperty("地区")
        private String area;
        @ApiModelProperty("治疗类型")
        private String treatmentType;
        @ApiModelProperty("诊断编码")
        private String zdbm;
        @ApiModelProperty("手术编码")
        private String ssbm;
        @ApiModelProperty("降压药")
        private Byte jyy;
        @ApiModelProperty("抗凝药")
        private Byte kny;
        @ApiModelProperty("降糖药")
        private Byte jty;
        @ApiModelProperty("抗血小板药")
        private Byte kxxby;
        @ApiModelProperty("调脂药")
        private Byte tzy;
        @ApiModelProperty("抗血管痉挛药")
        private Byte kxgjly;
        @ApiModelProperty("中药治疗")
        private Byte zyzl;
        @ApiModelProperty("其他")
        private String other;
        @ApiModelProperty("出院开始时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date startTime;
        @ApiModelProperty("出院结束时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date endTime;
    }

    @ApiModel("TopicVo - TopResearchPathResult")
    @Data
    public static class TopResearchPathResult {

        @ApiModelProperty("课题ID")
        private Long topicId;

        @ApiModelProperty("课题名称")
        private String topicName;
        @ApiModelProperty("菜单列表")
        private List<TagVo> tagVoList;

        @Data
        @ApiModel("TopicVo - TopResearchPathResult - TagVo")
        public static class TagVo {
            @ApiModelProperty("档案菜单ID")
            private Long archivesTagId;
            @ApiModelProperty("档案菜单名称")
            private String archivesTagName;
            @ApiModelProperty("档案类型(0:筛查； 1:急救； 2:治疗； 3:康复； 4：随访)")
            private Byte type;
        }
    }


    @Data
    @ApiModel("TopicVo - Detail")
    public static class Detail {
        private Long id;
        @ApiModelProperty("所属科室")
        private String deptId;
        @ApiModelProperty("档案号")
        private String dah;
        @ApiModelProperty("身份证号")
        private String idcard;
        @ApiModelProperty("姓名")
        private String name;
        @ApiModelProperty("性别")
        private String gender;
        @ApiModelProperty("住院号")
        private String zyh;
        @ApiModelProperty("住院医师")
        private String zyys;
        @ApiModelProperty("治疗类型")
        private String zllx;
        @ApiModelProperty("出院时间")
        private String cysj;
        @ApiModelProperty("数据来源")
        private String sjly;
        @ApiModelProperty("建档单位")
        private String jddw;
        @ApiModelProperty("建档人")
        private String jdr;
        @ApiModelProperty("建档时间")
        private String jdsj;
        @ApiModelProperty("审核人")
        private String shr;
        @ApiModelProperty("审核时间")
        private String shsj;
        @ApiModelProperty("档案状态")
        private String dazt;
    }
}
